package com.njtoyo.taxi.admin.mapper.secondary.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.njtoyo.taxi.admin.library.common.GeoPoint;
import com.njtoyo.taxi.admin.mapper.secondary.enums.adminuser.AccountType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author Dell
 * @since 2021-06-17
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class AdminUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String name;

    private String account;

    private String mobileNumber;

    private String email;

    @JsonIgnore
    private String password;

    /**
     * 上级ID
     */
    private Integer superiorId;

    private String portrait;

    @ApiModelProperty("账号类型")
    private AccountType accountType;

    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String fakeMultiple;

    private Boolean isFool;

    @JsonIgnore
    private String rememberToken;

    @ApiModelProperty("默认坐标")
    private GeoPoint defaultPoint;

    private Date createdAt;

    private Date updatedAt;

    private Boolean isPhoneOnline;

    private Integer userState;

}
